function foo() {
  // Promise
  return new Promise((resolve, reject) => {});
}

const fooPromise = foo();
// then方法传入的回调函数，会在Promise执行resolve函数时被回调
fooPromise.then((res) => {
  console.log(res);
});
// catch方法传入的回调函数，会在Promise执行reject函数时被回调
fooPromise.catch((err) => {
  console.log(err);
});

// class Person {
//   constructor(callback) {
//     (this.foo = function () {}),
//       (this.bar = function () {}),
//       callback(foo, bar);
//   }
// }

// const p = new Person((foo, bar) => {
//   foo();
//   bar();
// });

// 传入的这个函数，被称之为executor
// > resolve: 回调函数
// > reject: 回调函数
const promise = new Promise((resolve, reject) => {
  console.log("promise传入的函数被执行了");
  resolve();
});
